#include <cstdio>

using namespace std;

// Recommend read, https://blog.csdn.net/qq_44873539/article/details/123606509

class Circle
{
	public:
		Circle(int r=0)
		{
			itsRadius = new int(r);
		}

		Circle(const Circle& origin)
		{
			itsRadius = new int(*(origin.itsRadius));
		}

		~Circle()
		{
			delete itsRadius;
		}

		void add(int a)
		{
			*itsRadius += a;
		}

		void show()
		{
			printf("Radius:%d\n", *itsRadius);
		}

	private:
		int* itsRadius;
};

int main()
{
	Circle c1, c2(2);
	c1.show();
	c2.show();

	Circle c3(c2);
	c2.add(10);
	c2.show();
	c3.show();

	return 0;
}
